实例属性和方法

在初始化WebOffice文档应用时,aliyun.config方法会返回一个JS-SDK实例,JS-SDK提供了一些实用的实例属性和方法。

JS-SDK实例属性列表

实例属性

类型

说明

version

string

JS-SDK版本。

mainVersion

string

WebOffice版本。

url

string

文档在线预览地址。

iframe

HTMLElement

iframe DOM对象。

tabs

object

Tab工具栏操作。

tokenData

object

Token数据。

Application

object

高级API对象。

JS-SDK实例方法列表

实例方法

说明

save

主动保存。

ready

加载高级API。

destroy

销毁JS-SDK实例。

ApiEvent

事件处理对象。

on

监听事件(旧)。

off

取消监听事件(旧)。

setToken

设置Token鉴权。

setCommandBars

动态更新组件状态。

setCooperUserColor

动态设置协作用户的光标颜色。

executeCommandBar

执行组件命令。

主动保存

您可以设置在恰当的时机主动触发保存接口,用于辅助保存文件。

使用方式

const instance = aliyun.config({
  url: '在线文档预览地址',
});

const result = await instance.save();

返回示例

{
  result: 'nochange', // 保存状态。
  size: 15302, // 文件大小,单位byte。
  version: 16, // 版本。
}

状态说明

保存状态

描述

ok

版本保存成功,可在历史版本中查看。

nochange

文档无更新,无需保存版本。

SavedEmptyFile

暂不支持保存空文件。

触发场景:内核保存完后文件为空。

SpaceFull

空间已满。

QueneFull

保存中请勿频繁操作。

触发场景:服务端处理保存队列已满,正在排队。

fail

保存失败。

销毁实例

instance.destroy()是一个销毁实例的方法。

JS-SDK会通过创建一个iframe来和WebOffice通讯。当不需要JS-SDK时,可以通过instance.destroy()的方法来销毁iframe对应的DOM节点,从而销毁JS-SDK 实例,进而关闭WebOffice页面的展示。

Tab工具栏操作

如下通过代码介绍Tabs相关接口如何使用。

getTabs

  • 描述:获取所有头部Tab(PC端)。

  • 使用:

    const tabs = await instance.tabs.getTabs();
  • 返回数据:

    [
      { tabKey: 'StartTab', text: '开始' },
      { tabKey: 'InsertTab', text: '插入' },
      { tabKey: 'ReviewTab', text: '审阅', commandBarId: 'TabReviewWord' },
      { tabKey: 'PageTab', text: '页面' },
    ]

switchTab

  • 描述:控制头部Tab切换(PC端)。

  • 使用:

    await instance.tabs.switchTab({ tabKey: 'InsertTab' }); // 切换到“插入”Tab
  • 参数:tabKey表示当前tabKey值。

tabSwitch

  • 描述:Tab切换事件回调。

  • 使用:

    // 监听切换事件。
    instance.on('tabSwitch', (data) => {
      console.log('tabSwitch:', data);
    });
    
    // 自动调用方法将Tab切换到“插入”Tab
    await instance.tabs.switchTab({ tabKey: 'InsertTab' });
    
  • 返回数据:

    {
      tabKey: 'InsertTab'
    }